package tech.aistar.corejava.day18;

import java.util.ArrayList;
import java.util.List;

/**
 * @author success
 * @version 1.0
 * @description:本类用来演示:JDK8.0关于集合的新的特性
 * @date 2019/8/7 0007
 */
public class StreamListDemo {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        list.add(200);
        list.add(300);
        list.add(500);
        list.add(100);
        list.add(200);
        list.add(200);

        //排序..
        list.sort(((o1, o2) -> {
            if(o1>o2)
                return 1;
            else if(o1<o2)
                return -1;
            return 0;
        }));

        //集合的遍历
//        list.forEach(new Consumer<Integer>() {
//            @Override
//            public void accept(Integer integer) {
//                System.out.println(integer);
//            }
//        });

        //据说 - 这种遍历是并行的 - 性能会比较高.
        //list.forEach(n->System.out.println(n));

        //函数式接口
        //list.forEach(System.out::println);

        //删除满足条件的所有的元素
//        list.removeIf(new Predicate<Integer>() {
//            @Override
//            public boolean Test(Integer integer) {
//                //将数字大于200
//                if(integer>200)
//                    return true;
//                return false;//会输出,数据将会保留,如果return true,数据将会剔除
//            }
//        });

        list.removeIf(integer -> integer>200);

        //list.removeIf(s->s.getId()==2);

        //list.removeIf(s -> {return s.getName.equals("name"););
        System.out.println(list);
    }
}
